<?php
/**
 * 核心函数库
 */

/**
 * 自动加载
 * @param string $class_name    类名
 */
function autoload($class_name){
    $class_file = ROOT_PATH . '/'.str_replace('\\', '/', $class_name).'.class.php';
    if(!file_exists($class_file)){
        trigger_error($class_file." file not exists.", E_USER_ERROR);
    }else{
        require_once $class_file;
    }
}

// 注册类库自动加载
spl_autoload_register('autoload');

/**
 * 获取配置
 * @param string $key       配置键名
 * @param string $default   默认值
 * @return all
 */
function config($key='', $default=''){
    return isset(Core\Lib\Core::$config[$key]) ? Core\Lib\Core::$config[$key] : $default;
}

/**
 * 获取语言包数据
 * @paran string $key       语言键名
 * @param string $default   默认值
 * @return string
 */
function lang($key='', $default=null){
    return isset(Core\Lib\Core::$lang[$key]) ? Core\Lib\Core::$lang[$key] : $default;
}

/**
 * 核心聚合函数
 * @return instance
 */
function Core(){
    return Core\Lib\Core::initialize();
}

/**
 * 返回错误集
 * @param string $msg       错误信息
 * @param int $code         错误代码
 * @param string|array $data    错误数据
 */
function error($msg='', $code=0, $data=null){
    return ['status'=>false, 'code'=>$code, 'msg'=>$msg, 'data'=>$data];
}

/**
 * 返回成功集
 * @param string $msg       成功信息
 * @param int $code         成功代码
 * @param string|array $data    成功数据
 */
function success($msg='', $code=1, $data=null){
    return ['status'=>true, 'code'=>$code, 'msg'=>$msg, 'data'=>$data];
}